"""
接口对象层  用于实现 请求和响应
类
    属性
        请求的url
    方法
        新增
        查询
        更新
        删除
"""
import config
import requests

class EmployeeAPI:
    def __init__(self):
        # 新增人员的url
        self.add_emp_url = config.BASE_URL + 'api/sys/user'
        # 查询人员的url
        self.get_emp_url = config.BASE_URL + 'api/sys/user/{}'
        # 'http://www.baidu.com/a/{}'.format('123')  字符串格式化输出 {} 是占位符
        # self.get_emp_url.format('123')    后边使用的时候 这么使用
        # 更新人员的url
        self.update_emp_url = config.BASE_URL + 'api/sys/user/{}'
        # 删除人员的url
        self.delete_emp_url = config.BASE_URL + 'api/sys/user/{}'
    # 添加员工的 请求和响应
    def add_emp(self,headers,json_data):
        # 1. 把登录获取的令牌，放到请求头中的操作 应该单独封装一下，供大家使用
        # 2. 这个登录的令牌 应该在 setup_class 里 获取【登录】一次
        # 3. 这个请求，就应该以参数的形式传递过来
        response = requests.post(self.add_emp_url,
                                 json=json_data,
                                 headers=headers)
        return response
    # 查询员工信息  不要让方法名和属性 重名
    def get_emp_info(self,headers,emp_id):
        # 1. 员工id应该以参数的形式传递过来
        #"xxxx/{}".format(emp_id)
        # last 最后的 最终的
        # 格式化字符串
        last_url=self.get_emp_url.format(emp_id)
        # 发送get请求的时候 注意 url
        response = requests.get(last_url,
                                headers=headers)
        return response

    # 更新员工信息  不要让方法名和属性 重名
    def update_emp_info(self, headers, emp_id,json_data):
        # 1. 员工id应该以参数的形式传递过来
        # "xxxx/{}".format(emp_id)
        # last 最后的 最终的
        # 格式化字符串
        last_url = self.update_emp_url.format(emp_id)
        # 发送get请求的时候 注意 url
        response = requests.put(last_url,
                                json=json_data,
                                headers=headers)
        return response
    # 查询员工信息  不要让方法名和属性 重名
    def delete_emp_info(self,headers,emp_id):
        # 1. 员工id应该以参数的形式传递过来
        #"xxxx/{}".format(emp_id)
        # last 最后的 最终的
        # 格式化字符串
        last_url=self.delete_emp_url.format(emp_id)
        # 发送get请求的时候 注意 url
        response = requests.delete(last_url,
                                headers=headers)
        return response